#include "LitEnumStr.h"

namespace Lit
{
	ENUM_BEGIN(ExceptionType)
	{
		ENUM_ELEM_SETTR( EXC_UNKNOWN, "Unknown" ),
			
		ENUM_ELEM_SETTR( EXC_RUNTIME_ERROR, "RuntimeError" ),
		ENUM_ELEM_SETTR( EXC_LOGIC_ERROR, "LogicError" ),
		ENUM_ELEM_SETTR( EXC_INIT_ERROR, "InitialisationError" ),
			ENUM_ELEM_SETTR( EXC_COMPONENT_ERROR, "ComponentError" ),
			ENUM_ELEM_SETTR( EXC_RENDER_ERROR, "RenderError" ),
		ENUM_ELEM_SETTR( EXC_SHUTDOWN_ERROR, "ShutdownError" ),

		ENUM_ELEM_SETTR( EXC_CAST_ERROR, "CastError" ),

		ENUM_ELEM_SETTR( EXC_ITEM_DUPLICATE, "ItemDuplicate" ),
		ENUM_ELEM_SETTR( EXC_ITEM_MISSING, "ItemMissing" ),

		ENUM_ELEM_SETTR( EXC_FILE_MISSING, "FileMissing" ),
		ENUM_ELEM_SETTR( EXC_FILE_DUPLICATE, "FileDuplicate" ),

		ENUM_ELEM_SETTR( EXC_CONSOLE_ERROR, "ConsoleError" ),
		ENUM_ELEM_SETTR( EXC_IMPLEMENTATION_MISSING, "ImplementationMissing" ),
		ENUM_ELEM_SETTR( EXC_IO_ERROR, "IOError" ),
		ENUM_ELEM_SETTR( EXC_SCRIPT_ERROR, "ScriptError" ),
		ENUM_ELEM_SETTR( EXC_SCRIPT_PREPROCESSOR_ERROR, "ScriptPreprocessorError" )
	}
	ENUM_END(ExceptionType);
};